home *** CD-ROM | disk | FTP | other *** search
-
- Dokumentation zum GEM-View Speichermodul JPEG.GVS
- """""""""""""""""""""""""""""""""""""""""""""""""
-
- (C) by Guido Vollbeding, May 14 1994
- """"""""""""""""""""""""""""""""""""
-
-
- Neuerungen
- ##########
-
- - Dialoghandling nach Load/Save korrigiert für bestimmte
- altmodische Fileselektoren wie dem Original-TOS-Teil.
- - Kleine Code-Optimierungen bei der Farbkonvertierung.
- May 12 1994:
- - Erste Version.
-
-
- Einleitung
- ##########
-
- Hier ist es also nun endlich, das vielgewünschte JPEG-Speicher-
- modul zu dem hervorragenden Shareware-Programm GEM-View (Version
- 3.xx) von Dieter Fiebelkorn. Da mich in letzter Zeit immer mehr
- Leute immer öfter damit nervten (Hallo Dieter, Georg, Harald,
- ...), habe ich mal für einige Tage alles andere fallenlassen und
- in intensiver Arbeit dieses Teil fertiggestellt.
-
-
- Installation
- ############
-
- Ungeachtet der internen Komplexität der Sache ist die Benutzung
- denkbar einfach: Kopieren Sie einfach die Datei JPEG.GVS in den
- GVWSAVE-Ordner Ihrer GEM-View-Installation.
-
- Innerhalb von GEM-View können Sie nun dieses Modul wie jedes
- andere auch auswählen. Beachten Sie bitte, daβ das Modul aus-
- schlieβlich True-Color-Bilder verarbeitet und demzufolge nur dann
- zur Verfügung steht, wenn Sie in den Speicher- und Konvertie-
- rungsdialogen den TC-Button aktivieren. Mit Hilfe des GEM-View-
- Konvertierungsmoduls ist es unabhängig von der Bildschirmauflö-
- sung (also auch in Monochrom) möglich, True-Color-Bilder zu
- wandeln.
-
- Der Fortgang des Speicherprozesses wird im GEM-View-Protokoll-
- fenster durch eine Reihe von Punkten nach dem Dateinamen ange-
- zeigt. Insgesamt erscheinen 8 Punkte. Bei erfolgreicher Beendi-
- gung der Speicherung wird der erreichte Komprimierungsgrad
- (Verhältnis von Originalbildgröβe zur JPG-Dateigröβe) angezeigt.
-
-
- Optionen
- ########
-
- Wenn Sie beim Eintritt in die Speicherfunktion die Alternate-
- Taste gedrückt halten, erscheint ein Dialog, wo Sie einige JPEG-
- Komprimierungsparameter festlegen können.
-
- Alternativ dazu können die Parameter auch "offline" festgelegt
- werden, wenn Sie das Modul auβerhalb von GEM-View, also vom
- Desktop aus, als Programm starten. Dabei erscheint haargenau der
- gleiche Dialog wie als Modul in GEM-View.
- Um dies zu erreichen, können sie beispielsweise das Modul in
- JPEG.PRG oder JPEG.APP umbenennen. Eleganter und bequemer ist es
- aber, wenn Sie in Ihre NEWDESK.INF-Datei folgende Zeile an der
- angegebenen Stelle einfügen:
- ...
- #W 00 00 06 01 34 09 00 @
- #G 03 04 000 C:\1STGUIDE.ACC@ *.*@ @
- #G 03 FF 000 *.AC*@ @ @
- #G 03 FF 000 *.GV?@ @ @ <<--
- #G 03 FF 000 *.APP@ @ @
- #G 03 FF 000 *.PRG@ @ @
- ...
- Damit ersparen Sie sich das lästige Umbenennen und können jeder-
- zeit beliebige GEM-View-Module vom Desktop aus als Programm
- starten.
- Die bei Start als Programm vorgenommenen Änderungen haben natür-
- lich nur dann eine Wirkung, wenn sie mittels des Save-Buttons
- abgespeichert werden.
-
- Die Methode des Dialogaufrufs mittels Alternate ist konsistent
- mit dem in GEM-View verwendeten Verfahren beim Laden von Bildern
- mit der Alternate-Taste.
- Falls Ihnen dies aus irgendwelchen Gründen trotzdem nicht zusagen
- sollte, besteht im Dialog die Möglichkeit, stattdessen eine
- beliebige Kombination der Sondertasten Shift/Control/Alternate
- als Aufrufbedingung festzulegen. Dabei bedeutet ein selektierter
- Button, daβ die Taste gedrückt sein muβ, ansonsten nicht
- gedrückt. Das heiβt beispielsweise, wenn Sie alle Knöpfe dese-
- lektieren, daβ in diesem Fall der Dialog normalerweise IMMER
- erscheint. Damit könnte man also bei Konvertierung mehrerer
- Bilder für jedes einzelne bequem individuelle Parameter unmit-
- telbar vor der Speicherung festlegen. Das Drücken einer beliebi-
- gen Statustaste unterdrückt in diesem Fall den Dialog.
-
- Kommen wir nun zur Beschreibung der eigentlichen Parameter:
-
- Quality
- -------
-
- Der wichtigste Parameter ist sicherlich die Qualitätsvorgabe.
- Möglich sind hier Werte zwischen 0 und 100 %. Standardmäβig ist
- der Wert auf 75 % voreingestellt. Dies garantiert in den aller-
- meisten Fällen einen guten Kompromiβ zwischen Bildqualität und
- erreichbarer Komprimierung. Die Bildqualität kann hierbei als
- sehr gut bezeichnet werden, die erreichten Komprimierungsfaktoren
- liegen etwa zwischen 10:1 und 20:1, je nach Bildinhalt.
-
- Zur Kontrolle der resultierenden Bildqualität sollten Sie das
- gespeicherte Bild in einer möglichst hohen Bildschirm-Farbtiefe
- (!) wieder einladen und einschätzen. Dazu können Sie entweder
- GEM-View selbst verwenden, oder Anwender von 1STGUIDE können
- natürlich auch dieses verwenden.
- Sollte Ihnen der Bildeindruck hierbei nicht ganz zusagen, so
- können Sie den Qualitätswert schrittweise solange um eine paar
- Prozent anheben, bis Sie mit dem Resultat zufrieden sind. Dabei
- sollten Werte über etwa 95 % vermieden werden: Die Filegröβe
- steigt dramatisch, ohne einen sichtbaren Qualitätsgewinn ver-
- zeichnen zu können.
- Andererseits: Wenn es Ihnen mehr auf möglichst kleine Filegröβen
- ankommt, können Sie den Wert bis etwa 50 % herabsetzen. Kleinere
- Werte sollten Sie vermeiden, wenn das Bild nicht deutlich in
- seiner Qualität beeinträchtigt werden soll.
-
- Entropy Optimization
- --------------------
-
- Die Einschaltung dieser Option macht das resultierende File etwas
- kleiner, aber die Komprimierung dauert länger und benötigt sehr
- viel mehr Speicherplatz! Bildqualität und Dekomprimierungsge-
- schwindigkeit werden aber NICHT beeinfluβt!
- Diese Option wird zur Zeit noch nicht unterstützt, ist aber für
- zukünftige Versionen geplant.
-
- Smoothing
- ---------
-
- Dieser Wert dient zur Filterung der Eingangsdaten zwecks Elimi-
- nierung störenden Bildrauschens. Dies ist vor allem bei der
- Komprimierung geditherter Palettenbilder sinnvoll. Hierbei ist
- von vornherein die Qualität durch das sichtbare Dithering beein-
- trächtigt, und auβerdem kann dadurch die JPEG-Komprimierung nicht
- richtig greifen, so daβ unnötig groβe Files entstehen. Das
- Smoothing (Glätten) vermindert diese nachteiligen Effekte.
- Diese Option wird zur Zeit noch nicht unterstützt, da es für
- reine True-Color-Bilder auch nicht nötig ist. Sollte ich mich mal
- zur Unterstützung von reduzierten Palettenbildern durchringen,
- wird diese Option aktivierbar.
-
- Greyscale Output
- ----------------
-
- Wird diese Option eingeschaltet, so wird ein reines Graustufen-
- bild erzeugt, die Farbinformation geht also vollständig verloren.
- ACHTUNG! Manche Programme können solche Files nicht einlesen! Das
- ist aber eine Unzulänglichkeit dieser Programme. Vergewissern Sie
- sich, wenn Sie die Files in einem bestimmten Programm verwenden
- wollen, daβ dieses damit zurecht kommt. GEMVIEW und 1STGUIDE
- haben damit keine Probleme!
- Die resultierenden Files sind natürlich etwas kleiner und können
- schneller dekodiert werden. Der (entsprechend berechnete, d.h.
- nur auf die Grauwert-Information bezogene) Komprimierungsgrad ist
- allerdings vergleichsweise gering (bei Q = 75 % etwa 5:1), da die
- Farbkomponenten normalerweise stärker komprimiert werden können
- (allein schon durch das Color-Subsampling).
-
-
- Weitergabe
- ##########
-
- Ich habe mich entschlossen, dieses Projekt als reine FREEWARE
- herauszugeben, obwohl eine Menge Arbeit darin steckt und in
- Zukunft noch investiert werden soll.
- Das Paket, bestehend aus den folgenden 3 Dateien:
-
- JPEG.GVS -> das eigentliche GEM-View-Modul, auch
- startbar als PRG oder APP;
- JPEG_GVS.GER -> dieser Text als deutsche Anleitung;
- JPEG_GVS.ENG -> die englische Anleitung
-
- darf also beliebig frei in vollständiger und unveränderter Form
- weitergegeben werden. Jegliche kommerzielle Verbreitung (auch PD-
- Versände o.ä.) ist hiervon ausdrücklich ausgeschlossen, denn es
- ist nicht einzusehen, daβ jemand anders etwas verdienen soll,
- wenn ich selber auch nichts damit verdiene.
- Für irgendwelche Schäden übernehme ich keinerlei Haftung. Gewisse
- Datenverluste sind allerdings beabsichtigt ;-). Das liegt in der
- Natur der Sache. Lassen Sie also beim Einsatz groβe Sorgfalt
- walten und beachten Sie obige Hinweise!
-
- Für Anfragen, Hinweise, Kritik (konstruktive!) oder Dankesbezei-
- gungen bin ich wie folgt erreichbar:
-
- Guido Vollbeding
- Turmstraβe 61
- D-06110 Halle (Saale)
- (Germany)
-
- Email: Guido Vollbeding @ HAL (Mausnetz)
-
- Bankverbindung:
- Stadt- u. Saalkreissparkasse Halle
- Blz.: 800 537 62
- Kto.: 486 260 725
-
- Auf Anfragen kann ich vorzugsweise nur dann reagieren, wenn sie
- von registrierten 1STGUIDE-Benutzern kommen.
- Es sollte sich von selbst verstehen, daβ, wer dieses Modul
- einsetzt, registrierter GEMVIEW-Anwender zu sein hat!
-
- Ach ja: Eine DSP-Unterstützung für den Falcon ist derzeit nicht
- geplant. Allerdings habe ich schon viel Mühe auf die Optimierung
- der Routinen 'verschwendet', ein biβchen ist aber für zukünftige
- Versionen noch drin. Insbesondere der Code der DCT-Kernroutine
- gefällt mir noch nicht so richtig, da lohnt es sich vor allem,
- noch eine gehörige Portion Gehirnschmalz in den Assembler zu
- investieren :-)...
- Als Entwicklungsumgebung wird natürlich Pure-C eingesetzt (was
- sonst ?).
-
-
- Literatur
- #########
-
- Wer sich näher mit der Theorie hinter JPEG befassen möchte, dem
- sei folgender Grundlagenartikel als Einstiegslektüre empfohlen:
-
- Wallace, Gregory K. "The JPEG Still Picture Compression Standard"
- Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44
-
- Am Ende dieses Artikels findet sich auch eine weitergehende
- umfassende Literaturliste.
-
-
- Schluβworte
- ###########
-
- Ein herzlicher Dank geht an dieser Stelle an Dieter Fiebelkorn
- für die (langjährige) fruchtbare Kooperation.
- Erst die Flexibilität und der Komfort von GEM-View haben es
- ermöglicht, daβ nun zusammen mit dem vorliegenden Modul eine für
- meine Begriffe ideale Plattform zur JPEG-Compression zur Verfü-
- gung steht.
-
- Ein weiterer Dank gebührt natürlich der Independent JPEG Group,
- deren excellente Sourcen überhaupt die Basis meiner Arbeiten
- bildeten, und ohne die das Thema JPEG wohl noch lange Zeit reine
- Theorie geblieben wäre.
-
- Viel Spaβ nun mit dem Modul, und möge jetzt eine Flut wunder-
- schöner JPEG-Motive über uns hereinbrechen...
-